//package com.csw.shuanfa.CodeImprove.redlockThread.locktest;
//
//import org.redisson.Redisson;
//import org.redisson.api.RedissonClient;
//import org.redisson.config.Config;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Primary;
//import org.springframework.stereotype.Component;
//
///**
// * 原文链接：https://blog.csdn.net/as4589sd/article/details/121867950
// */
//@Component
//public class RedissonClientConfig {//单体形式
//    @Value("${spring.redis.host}")
//    private String redisIp;
//
//    @Value("${spring.redis.port}")
//    private String redisPort;
//
//    @Value("${spring.redis.password}")
//    private String redisPassword;
//
//    @Value("${spring.redis.database}")
//    private int redisDatabase;
//
//
//    @Bean(name = "RedissonClient")
//    @Primary
//    public RedissonClient getRedissonClient() {//默认解锁失效时间是30s，两个时间
//        Config config = new Config();
//        config.useSingleServer()
//                .setAddress("redis://" + redisIp + ":" + redisPort)
//                .setPassword(redisPassword)
//                .setDatabase(redisDatabase)
//                .setTimeout(60 * 60 * 1000);//1小时连接时间
////        config.useSentinelServers().addSentinelAddress("127.0.0.1:6369", "127.0.0.1:6379", "127.0.0.1:6389").
////                setMasterName("masterName").setPassword("password").setDatabase(0);
//        RedissonClient redissonClient = Redisson.create(config);
//        //布隆过滤器
////        RBloomFilter<Object> filter = redissonClient.getBloomFilter("nameBloom");
////        filter.tryInit(1000000, 0.01);
////        filter.add("aa");
////        boolean aa = filter.contains("aa");
///**
// * 如果您只需要获取单个RLock锁，确实可以直接使用RLock对象来实现，而不需要使用RedissonRedLock。RedissonRedLock主要用于同时获取多个RLock锁的场景，在这种情况下才会发挥其优势。
// *
// * 因此，如果您只需要对单个资源进行加锁操作，可以直接使用RLock对象。如果您需要同时获取多个锁，并确保大多数锁获取成功才算整个锁获取成功的话，可以考虑使用RedissonRedLock。
// */
//
//        return redissonClient;
//    }
//}
